﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DB_NH.DB_Model.StampApprove
{
    /// <summary>
    /// 流程申请记录
    /// </summary>
    public class StampApproveFlow : Entity
    {
        #region 发文盖章流程基本信息
        /// <summary>
        /// 发文盖章流程对应项目
        /// </summary>
        public virtual ywxt.t_project Project { get; set; }

        /// <summary>
        /// 创建用户
        /// </summary>
        public virtual ywxt.t_sys_user CreatorUser { get; set; }

        /// <summary>
        /// 流程记录
        /// </summary>
        public virtual SimpleFlow.ApprovalRecord ApprovalRecord { get; set; }

        /// <summary>
        /// 盖章类型：公章、法人章、电子章（逗号分隔）
        /// </summary>
        public virtual string StampType { get; set; }

        /// <summary>
        /// 盖章份数
        /// </summary>
        public virtual string StampCount { get; set; }

        /// <summary>
        /// 盖章描述
        /// </summary>
        public virtual string StampDescribe { get; set; }

        /// <summary>
        /// 发文盖章描述
        /// </summary>
        public virtual string Describe { get; set; }

        /// <summary>
        /// 流程分歧描述
        /// </summary>
        public virtual string DivisionDescribe { get; set; }
        
        /// <summary>
        /// 盖章序列号
        /// </summary>
        public virtual string SerialCode { get; set; }
        #endregion

        #region 是否为公告发布信息
        /// <summary>
        /// 公告是否发布标志：
        /// 1、发布到外网；
        /// 0、不需要发布到外网
        /// </summary>
        public virtual int PublishFlag { get; set; }

        /// <summary>
        /// 公告发布日期
        /// </summary>
        public virtual string PublishDate { get; set; }

        /// <summary>
        /// 公告是否显示
        /// </summary>
        public virtual int AnnounceIsShow { get; set; }

        /// <summary>
        /// 公告是否显示“热”标志
        /// </summary>
        public virtual int AnnounceIsHot { get; set; }

        /// <summary>
        /// 公告是否显示“新”标志
        /// </summary>
        public virtual int AnnounceIsNew { get; set; }

        /// <summary>
        /// 公告标题
        /// </summary>
        public virtual string AnnounceTitle { get; set; }

        /// <summary>
        /// 公告内容ID，记录已发布的公告的ID
        /// </summary>
        public virtual string AnnounceId { get; set; }
        #endregion

        #region 附件信息
        /// <summary>
        /// 附件类型（招标预告、招标公告、变更公告、结果公示、结果公告）
        /// </summary>
        public virtual string AttachmentType { get; set; }

        /// <summary>
        /// 附件文件（初稿）
        /// </summary>
        public virtual Attachment.Attachment Attachment_1 { get; set; }

        /// <summary>
        /// 附件文件终稿（终稿）
        /// </summary>
        public virtual Attachment.Attachment Attachment_2 { get; set; }

        /// <summary>
        /// 质检初审修改稿附件
        /// </summary>
        public virtual Attachment.Attachment Attachment_zjcs { get; set; }

        /// <summary>
        /// 副总复审修改稿附件
        /// </summary>
        public virtual Attachment.Attachment Attachment_fzsp { get; set; }

        #endregion

        #region 1、部门经理审批信息
        /// <summary>
        /// 部门经理审批信息
        /// </summary>
        public virtual string SP_Content_BMJL { get; set; }
        #endregion

        #region 2、质检员初审
        /// <summary>
        /// 质检员审批信息
        /// </summary>
        public virtual string SP_Content_ZJY { get; set; }
        #endregion

        #region 3、副总复核，评分
        /// <summary>
        /// 副总经理复核信息
        /// </summary>
        public virtual string SP_Content_FZJL { get; set; }

        /// <summary>
        /// 评分分数
        /// </summary>
        public virtual decimal SP_Score { get; set; }

        /// <summary>
        /// 流程扣分项
        /// </summary>
        public virtual IList<StampApproveFlowEvaluationDetail> EvalDeductions { get; set; }
        #endregion

        #region 4、终稿上传
        /// <summary>
        /// 终稿上传审批信息
        /// </summary>
        public virtual string SP_Content_ZGSC { get; set; }
        #endregion

        #region 5、终稿审批
        /// <summary>
        /// 终稿上传审批信息
        /// </summary>
        public virtual string SP_Content_ZGSP { get; set; }
        #endregion

        #region 6、盖章管理
        /// <summary>
        /// 公章管理员审批信息
        /// </summary>
        public virtual string SP_Content_GZGL { get; set; }
        #endregion

        #region 流程的状态描述
        /// <summary>
        /// 审批标志
        /// </summary>
        public virtual int SPFlag { get; set; }

        /// <summary>
        /// 审批时间
        /// </summary>
        public virtual DateTime SPDate { get; set; }

        /// <summary>
        /// 审批结果摘要
        /// </summary>
        public virtual string SPDescribe { get; set; }
        #endregion

        public StampApproveFlow()
        {
            EvalDeductions = new List<StampApproveFlowEvaluationDetail>();
        }
    }
}
